arm: mx6: cm_fx6: detect 1GB DRAM correctly on solo
authorNikita Kiryanov <[email protected]>
Wed, 29 Oct 2014 15:56:22 +0000 (17:56 +0200)
committerStefano Babic <[email protected]>
Wed, 5 Nov 2014 16:18:01 +0000 (17:18 +0100)
The 1GB DRAM configuration on mx6 solo uses 2 chip selects, but
the code tests 1GB DRAM configuration as if it is all present on one
chip select, and thus cannot see the full range of available memory.

Refactor the check to detect 1GB DRAM correctly.

Signed-off-by: Nikita Kiryanov <[email protected]>
Cc: Igor Grinberg <[email protected]>
Cc: Stefano Babic <[email protected]>
Acked-by: Igor Grinberg <[email protected]>
board/compulab/cm_fx6/spl.c

index 3948ba23ae9e4267bfaa7b3d6f59aeb5b894c1ac..6fe937b4180fba98add32988d9820cc73d96680f 100644 (file)
@@ -235,10 +235,11 @@ static int cm_fx6_spl_dram_init(void)
 
                spl_mx6s_dram_init(DDR_32BIT_1GB, false);
                bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
-               if (bank1_size == 0x40000000)
-                       return 0;
-
+               bank2_size = get_ram_size((long int *)PHYS_SDRAM_2, 0x80000000);
                if (bank1_size == 0x20000000) {
+                       if (bank2_size == 0x20000000)
+                               return 0;
+
                        spl_mx6s_dram_init(DDR_32BIT_512MB, true);
                        return 0;
                }